<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="description" content="Evy持续集成中心,提供SpringBoot应用快速部署、应用监控、服务治理功能">
    <meta name="keywords" content="Evy,SpringBoot,SpringCloud,Gateway,GateWay,Devops,devops,持续集成,服务治理,应用监控">
    <link rel="preload" as="font" href="fonts/SFUIText-Light.woff" type="font/woff">
    <link rel="preload" as="font" href="fonts/SFUIText-Regular.woff" type="font/woff">
    <link rel="preload" as="font" href="fonts/SFUIText-Medium.woff" type="font/woff">
    <link rel="preload" as="font" href="fonts/SFUIDisplay-Semibold.woff" type="font/woff">
    <link rel="preload" as="font" href="fonts/SFUIDisplay-Regular.woff" type="font/woff">
    <link rel="preload" as="font" href="fonts/fontawesome-webfont.woff" type="font/woff">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/css/bootstrap.min.css"
          integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    <link rel="stylesheet" href="css/font-awesome.css">
    <link rel="stylesheet" href="css/main.full.css">
    <title>Evy持续集成中心</title>
</head>
<body class="ng-cloak main-style" ng-app="DeployApp" ng-controller="DeployMainController as main" ng-cloak>
<!--顶部导航栏-->
<header>
    <nav id="{{main.tips.id}}" class="fixed-nav" style="display: none;width:100%;z-index: 1001">{{main.tips.pre + main.tips.post}}</nav>
    <nav id="head-nav" class="nav nav-default navbar-static-top fixed-nav" role="navigation" style="z-index: 1000"
         ng-class="{true : 'head-nav-login', false : 'head-nav-nologin'}[main.isLogin]">
        <div id="head-left-view" class="col-xs-6">
            <span>
                <a href="https://gitee.com/evy5464/evy-business?_from=gitee_search" target="_blank"
                   ng-class="{true : 'head-label-login', false : 'head-label'}[main.isLogin]">Evy持续集成中心</a>
            </span>
        </div>
        <div class="col-xs-6 head-right-view" ng-show="main.isLogin">
            <span>
                <label type="text" class="head-label" ng-bind="main.cur.user"
                       ng-class="{true : 'head-label-login', false : 'head-label'}[main.isLogin]"></label>
            </span>
            <span>
                <label type="text" class="head-label"
                       ng-class="{true : 'head-label-login', false : 'head-label'}[main.isLogin]"> | </label>
            </span>
            <span>
                <label type="text" class="head-label"
                       ng-class="{true : 'head-label-login', false : 'head-label'}[main.isLogin]">
                    当前应用:{{main.cur.appName}}
                </label>
            </span>
            <span>
                <label type="text" class="head-label"
                       ng-class="{true : 'head-label-login', false : 'head-label'}[main.isLogin]"> | </label>
            </span>
            <span>
                <label type="text" class="head-label"
                       ng-class="{true : 'head-label-login', false : 'head-label'}[main.isLogin]">
                    当前分支:{{main.cur.branch}}
                </label>
            </span>
        </div>
    </nav>
</header>
<!--顶部导航栏 end-->

<!--正文-->
<!--ng-show="!main.isLogin"-->
<div id="main-body" class="container" ng-show="!main.isLogin">
    <div id="main-view" class="row">
        <div>
            <form style="margin: 56px auto;">
                <div class="logo">
                    <img src="./logo.png" class="cnsmr-app-image" alt="">
                </div>
                <div>
                    <h5 class="form-title" tabindex="-1">登陆持续集成中心</h5>
                </div>
                <div id="stepEl" class="form-table">
                    <div id="form-cell-1" class="form-cell">
                        <input id="form-cell-input-1" type="text" placeholder="用户名" style="border:none;outline:medium;"
                               ng-model="main.loginUser.username"
                               ng-mouseenter="main.InputMouseEnterEvent('form-cell-1')"
                               ng-mouseleave="main.InputMouseLevelEvent('form-cell-1')">
                    </div>
                    <div id="form-cell-2" class="form-cell">
                        <input id="form-cell-input-2" type="password" placeholder="密码"
                               style="border:none;outline:medium;"
                               ng-model="main.loginUser.password"
                               ng-mouseenter="main.InputMouseEnterEvent('form-cell-2')"
                               ng-mouseleave="main.InputMouseLevelEvent('form-cell-2')">
                        <button id="login-form-btn" class="login-btn btn" type="submit" aria-label="登陆"
                                ng-click="main.SubmitLogin($event)">
                            <span id="login-form-btn-span" class="icon-arrow-right"></span>
                        </button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
<!--正文 end-->

<!--部署页面-->
<div id="main-deploy-body" ng-show="main.isLogin" style="margin-top: 48px;">
    <div id="main-deploy-view" class="row">
        <ul class="list-group deploy-list">
            <li id="deploy-list-0" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-0')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-0')"
                style="background: rgba(0,113,241,1);color: #fff;" ng-click="main.showDeployCreateView('新增部署应用')">新增部署应用
            </li>
            <li id="deploy-list-autodeploy" class="list-group-item"
                ng-mouseenter="main.InputMouseEnterEvent('deploy-list-autodeploy')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-autodeploy')"
                ng-click="main.showDeployMainView('自动化部署')">自动化部署
            </li>
            <li id="deploy-list-select" class="list-group-item"
                ng-mouseenter="main.InputMouseEnterEvent('deploy-list-select')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-select')"
                ng-click="main.showSelectBranchView('切换分支')">
                <span class="icon-reorder"> 切换分支</span>
            </li>
            <li id="deploy-list-1" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-1')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-1')"
                ng-click="main.showQueryMemoryView('应用内存信息')">
                应用内存信息
            </li>
            <li id="deploy-list-2" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-2')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-2')"
                ng-click="main.showQueryThreadView('应用线程信息')">
                应用线程信息
            </li>
            <li id="deploy-list-3" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-3')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-3')" ng-click="main.showQueryMqView('MQ消息中心')">
                MQ消息中心
            </li>
            <li id="deploy-list-4" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-4')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-4')" ng-click="main.showQuerySlowSqlView('慢SQL')">
                慢SQL
            </li>
            <li id="deploy-list-5" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-5')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-5')" ng-click="main.showQueryServiceView('服务治理')">
                服务治理
            </li>
            <li id="deploy-list-6" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-6')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-6')"
                ng-click="main.showQueryRedisView('Redis缓存中心')">Redis缓存中心
            </li>
            <li id="deploy-list-7" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-7')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-7')"
                ng-click="main.showQueryHttpView('Http请求查询')">Http请求查询
            </li>
            <li id="deploy-list-8" class="list-group-item" ng-mouseenter="main.InputMouseEnterEvent('deploy-list-8')"
                ng-mouseleave="main.InputMouseLevelEvent('deploy-list-8')"
                ng-click="main.showTraceView('全链路查询')">全链路查询
            </li>
        </ul>

        <div id="deploy-info-view" class="col-xs-8">
            <span>
                <h3 class="info-title">{{main.deployInfo.title}}</h3>
            </span>
            <!--            新增部署应用正文-->
            <div id="{{main.viewId.createView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.createViewShow">
                <div id="form-cell-3" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-3" type="text" placeholder="应用名称 (如: test-demo)"
                           style="border:none;outline:medium;"
                           ng-model="main.deployForm.appName" ng-mouseenter="main.InputMouseEnterEvent('form-cell-3')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-3')">
                </div>
                <div id="form-cell-4" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-4" type="text"
                           placeholder="git路径 (如: git@gitee.com:evy5464/evy-business.git)"
                           style="border:none;outline:medium;"
                           ng-model="main.deployForm.gitPath" ng-mouseenter="main.InputMouseEnterEvent('form-cell-4')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-4')">
                    <button id="form-cell-input-4-btn" class="login-btn deploy-info-btn btn" type="submit"
                            aria-label="获取分支列表"
                            ng-click="main.GetGitBranchList($event)">
                        {{main.GetGitBranchListBtnText.isSubmit ? main.GetGitBranchListBtnText.SubmitText : main.GetGitBranchListBtnText.noSubmitText}}
                        <span id="form-cell-input-4-btn-span" class="icon-arrow-right"></span>
                        <span id="form-cell-input-4-text-span" class="icon-spinner icon-spin"
                              ng-show="{{main.GetGitBranchListBtnText.lodingSpan}}"></span>
                    </button>
                </div>
                <div id="form-cell-5" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-5" type="text" placeholder="git分支 (如: YD_202011 默认master)"
                           style="border:none;outline:medium;"
                           ng-model="main.deployForm.brchanName"
                           ng-mouseenter="main.InputMouseEnterEvent('form-cell-5')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-5')">
                </div>
                <div id="form-cell-6" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-6" type="text" placeholder="服务器列表 (通过逗号分割)"
                           style="border:none;outline:medium;"
                           ng-model="main.deployForm.targetHost"
                           ng-mouseenter="main.InputMouseEnterEvent('form-cell-6')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-6')">
                </div>
                <div id="form-cell-7" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-7" type="text" placeholder="开启Junit测试"
                           style="border:none;outline:medium; pointer-events: none;"
                           ng-mouseenter="main.InputMouseEnterEvent('form-cell-7')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-7')">
                    <button id="form-cell-input-7-btn"
                            class="login-btn deploy-info-btn popover-options deploy-checkbox-btn" type="submit"
                            aria-label="开启Junit测试" disabled="disabled">
                        <label>
                            <input id="JunitCheckBox" type="checkbox"/>
                        </label>
                    </button>
                </div>
                <div id="form-cell-8" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-8" type="text" placeholder="开启分批部署"
                           style="border:none;outline:medium; pointer-events: none;"
                           ng-mouseenter="main.InputMouseEnterEvent('form-cell-8')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-8')">
                    <button id="form-cell-input-8-btn"
                            class="login-btn deploy-info-btn popover-options deploy-checkbox-btn" type="submit"
                            aria-label="开启Junit测试" disabled="disabled">
                        <label>
                            <input id="BatchDeployCheckBox" type="checkbox"/>
                        </label>
                    </button>
                </div>
                <div id="form-cell-9" class="form-cell deploy-form-cell">
                    <input id="form-cell-input-9" type="text" placeholder="Jvm参数 (如: -Xms1024m -Xmx2048m)"
                           style="border:none;outline:medium;"
                           ng-model="main.deployForm.jvmParam" ng-mouseenter="main.InputMouseEnterEvent('form-cell-9')"
                           ng-mouseleave="main.InputMouseLevelEvent('form-cell-9')">
                </div>
                <div id="form-cell-10" class="form-cell deploy-form-cell">
                    <button id="form-cell-input-10-btn" class="login-btn deploy-info-btn popover-options submit-btn btn"
                            type="submit" aria-label="提交"
                            ng-click="main.SubmitNewDeployInfo($event)">
                        {{main.SubmitNewDeployInfoText.isSubmit ? main.SubmitNewDeployInfoText.SubmitText : main.SubmitNewDeployInfoText.noSubmitText}}
                        <span id="form-cell-input-10-btn-span" class="icon-arrow-right"></span>
                    </button>
                </div>
            </div>
            <!--            选择分支列表-->
            <div class="form-table deploy-form-table left-div result-div" ng-show="main.viewShow.deployViewReqDiv">
                <div class="list-group-item title-div">选择分支</div>
                <div class="content-div">
                    <div class="list-group-item" ng-repeat="branchName in main.deployViewReqList">
                        <a href="javascript:void(0);" ng-click="main.setBranchName($event)">{{branchName}}</a>
                    </div>
                </div>
            </div>
            <!--            选择分支模块-->
            <div id="{{main.viewId.selectBranchView}}"
                 class="form-table deploy-form-table left-div select-branch-super-div"
                 ng-show="main.viewShow.selectBranchViewShow"
                 ng-repeat="branchModel in main.selectBranch">
                <div class="form-table deploy-form-table left-div select-branch">
                    <div>
                        <span class="title-span">应用名称</span>
                        <input type="text" style="border:none;outline:medium;background: transparent;"
                               class="show-input ng-pristine ng-untouched ng-valid ng-not-empty"
                               disabled="" value="{{branchModel.appName}}"/>
                    </div>
                    <div>
                        <span class="title-span">分支</span>
                        <input type="text" style="border:none;outline:medium;background: transparent;"
                               class="show-input ng-pristine ng-untouched ng-valid ng-not-empty"
                               disabled="" value="{{branchModel.branchName}}"/>
                    </div>
                    <div>
                        <span class="title-span">git</span>
                        <input type="text" style="border:none;outline:medium;background: transparent;"
                               class="show-input ng-pristine ng-untouched ng-valid ng-not-empty"
                               disabled="" value="{{branchModel.gitPath}}"/>
                    </div>
                    <div>
                        <span class="title-span">服务器IP</span>
                        <input type="text" style="border:none;outline:medium;background: transparent;"
                               class="show-input ng-pristine ng-untouched ng-valid ng-not-empty"
                               disabled="" value="{{branchModel.serverIp}}"/>
                    </div>
                    <div>
                        <input type="submit" class="deploy-info-btn popover-options submit-btn btn select-branch-btn"
                               value="{{main.cur.deploySeq == branchModel.deploySeq ? '当前分支' : '选取分支'}}"
                               ng-class="{true : 'deploy-info-btn popover-options submit-btn btn select-branch-btn select-btn-style',
                                false : 'deploy-info-btn popover-options submit-btn btn select-branch-btn'}[main.cur.deploySeq == branchModel.deploySeq]"
                               ng-click="main.selectBranchSubmit(branchModel.deploySeq)">
                    </div>
                </div>
            </div>
            <!--            应用配置主页面-->
            <div id="{{main.viewId.mainView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.mainViewShow">
                <div class="form-cell deploy-form-cell">
<!--                    <button class="login-btn deploy-info-btn btn left-btn" type="submit" aria-label="重新部署"-->
<!--                            ng-click="main.buildApp()">-->
<!--                        编译应用 <span class="icon-repeat"></span>-->
<!--                    </button>-->
                    <button class="login-btn deploy-info-btn btn left-btn" type="submit" aria-label="部署记录"
                            ng-click="main.deployRecord($event)">
                        部署记录 <span class="icon-list"></span>
                    </button>
                    <button class="login-btn deploy-info-btn btn left-btn" type="submit" aria-label="一键部署"
                            ng-click="main.autoDeploySubmit()">
                        一键部署 <span class="icon-play"></span>
                    </button>
                </div>
                <div class="form-cell deploy-form-cell">
                    <span id="build-status-text" class="title-span left-span span-success"
                          ng-show="main.deployInfoStyle.buildInfo.show">
                        {{main.deployInfoStyle.buildInfo.title}}
                        <span class="icon-ok" ng-show="main.deployInfoStyle.buildInfo.buildSuccessStatus"></span>
                        <span class="icon-remove" ng-show="main.deployInfoStyle.buildInfo.buildFalidStatus"></span>
                        <span class="icon-spinner icon-spin"
                              ng-show="main.deployInfoStyle.buildInfo.buildCheckStatus"></span>
                    </span>
                    <span id="deploy-status-text" class="title-span left-span span-faild"
                          ng-show="main.deployInfoStyle.deployInfo.show">
                        {{main.deployInfoStyle.deployInfo.title}}
                        <span class="icon-ok" ng-show="main.deployInfoStyle.deployInfo.deploySuccessStatus"></span>
                        <span class="icon-remove" ng-show="main.deployInfoStyle.deployInfo.deployFalidStatus"></span>
                        <span class="icon-spinner icon-spin"
                              ng-show="main.deployInfoStyle.deployInfo.deployCheckStatus"></span>
                    </span>
                    <span id="check-service-status-text" class="title-span left-span span-checking"
                          ng-show="main.deployInfoStyle.checkInfo.show">
                        {{main.deployInfoStyle.checkInfo.title}}
                        <span class="icon-ok" ng-show="main.deployInfoStyle.checkInfo.checkSuccessStatus"></span>
                        <span class="icon-remove" ng-show="main.deployInfoStyle.checkInfo.checkFalidStatus"></span>
                        <span class="icon-spinner icon-spin"
                              ng-show="main.deployInfoStyle.checkInfo.checkCheckStatus"></span>
                    </span>
                </div>
                <div id="deploy-main-view-div-1" class="form-cell deploy-form-cell">
                    <span class="title-span left-span">部署时间</span>
                    <input type="text" style="border:none;outline:medium;" class="show-input" disabled
                           ng-model="main.lastDeployForm.deployTime"
                           ng-mouseenter="main.InputMouseEnterEvent('deploy-main-view-div-1')"
                           ng-mouseleave="main.InputMouseLevelEvent('deploy-main-view-div-1')">
                </div>
                <div id="deploy-main-view-div-2" class="form-cell deploy-form-cell">
                    <span class="title-span left-span">应用名称</span>
                    <input type="text" style="border:none;outline:medium;" class="show-input" disabled
                           ng-model="main.lastDeployForm.appName"
                           ng-mouseenter="main.InputMouseEnterEvent('deploy-main-view-div-2')"
                           ng-mouseleave="main.InputMouseLevelEvent('deploy-main-view-div-2')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">Junit测试</span>
                    <button class="login-btn deploy-info-btn popover-options deploy-checkbox-btn" type="submit"
                            aria-label="开启Junit测试" disabled="disabled">
                        <label>
                            <input type="checkbox" ng-model="main.lastDeployForm.switchJunit"/>
                        </label>
                    </button>
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">分批部署</span>
                    <button class="login-btn deploy-info-btn popover-options deploy-checkbox-btn" type="submit"
                            aria-label="分批部署" disabled="disabled">
                        <label>
                            <input type="checkbox" ng-model="main.lastDeployForm.switchBatchDeploy"/>
                        </label>
                    </button>
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">git</span>
                    <input type="text" style="border:none;outline:medium;" class="show-input" disabled
                           ng-model="main.lastDeployForm.gitPath">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">服务器IP</span>
                    <input type="text" style="border:none;outline:medium;" class="show-input" disabled
                           ng-model="main.lastDeployForm.targetHost">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">JVM参数</span>
                    <input id="main-view-div-1" type="text" style="border:none;outline:medium;" class="show-input" placeholder="JVM参数"
                           ng-model="main.lastDeployForm.jvmParam"
                           ng-mouseenter="main.InputMouseEnterEvent('main-view-div-1')"
                           ng-mouseleave="main.InputMouseLevelEvent('main-view-div-1')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">备注</span>
                    <input id="main-view-div-2" type="text" style="border:none;outline:medium;" class="show-input" placeholder="输入部署备注"
                           ng-model="main.lastDeployForm.remarks"
                           ng-mouseenter="main.InputMouseEnterEvent('main-view-div-2')"
                           ng-mouseleave="main.InputMouseLevelEvent('main-view-div-2')">
                </div>
            </div>
            <!--            应用内存信息-->
            <div id="{{main.viewId.queryMemoryView}}"
                 class="form-table deploy-form-table left-div view-div transparent-form"
                 ng-show="main.viewShow.queryMemoryView">
                <div id="appCpuView" style="max-width:1200px;height:400px;padding: 4px;"></div>
<!--                <div id="appMemoryView" style="max-width:1200px;height:400px;padding: 4px;"></div>-->
            </div>
            <!--            应用线程信息-->
            <div id="{{main.viewId.queryThreadView}}" class="form-table deploy-form-table left-div transparent-form"
                 style="width: 100%;" ng-show="main.viewShow.queryThreadView">
                <ul class="ul-div-style thread-ul-head bottom-border-solid" style="margin: 0 0 0 10px;">
                    <li>
                        <label>
                            当前服务器ip:
                            <select id="thread-select-id"
                                    ng-model="main.curThreadIp"
                                    ng-options="x for x in main.curSelectIp"
                                    class="main-border-color main-select-style">
                            </select>
                        </label>
                    </li>
                    <li class="main-font-color">/</li>
                    <li>Jvm启动以来创建线程总数:{{main.ThreadCount}}</li>
                </ul>
                <ul class="ul-div-style bottom-border-solid xs-font-size">
                    <li>
                        <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                style="max-width: 90px !important; float: left; margin-right: 8px;"
                                type="submit" aria-label="提交"
                                ng-click="main.showQryRealTimeThreadId()">
                            实时查询线程
                        </button>
                    </li>
                    <li>
                        <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                style="max-width: 90px !important; float: left; margin-right: 8px;"
                                type="submit" aria-label="提交"
                                ng-click="main.findDeadThreads()">
                            死锁查询
                        </button>
                    </li>
                    <li>
                        <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                style="max-width: 90px !important; float: left; margin-right: 8px;"
                                type="submit" aria-label="提交"
                                ng-click="main.heapDumpSubmit()">
                            heap dump
                        </button>
                    </li>
                </ul>
                <ul class="ul-div-style bottom-border-solid xs-font-size">
                    <li class="twelve-ul-style">线程ID</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">线程名称</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">线程状态</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">线程运行时间(ms)</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">阻止线程总数</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">线程锁累计时间(ms)</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">等待锁线程名</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">等待锁线程id</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">线程等待总数</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">线程等待时间(ms)</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">最后检查时间</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">堆栈</li>
                </ul>
                <!--                通过循环生成ul线程信息-->
                <ul class="ul-div-style bottom-border-solid xs-font-size" ng-repeat="t in main.curThreadInfo[0]">
                    <li class="twelve-ul-style">{{t.threadId}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadStatus}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadStartTimeMs}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadBlockedCount}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadBlockedTimeMs}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadBlockedName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadBlockedId}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadWaitedCount}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.threadWaitedTimeMs}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">{{t.gmtModify}}</li>
                    <li class="main-font-color">/</li>
                    <li class="twelve-ul-style">
                        <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                type="submit" aria-label="提交"
                                ng-click="main.showThreadStack(t.threadStack)">
                            堆栈查询
                        </button>
                    </li>
                </ul>
            </div>
            <!--            MQ消息中心-->
            <div id="{{main.viewId.queryMqView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.queryMqView">
                <div class="form-cell deploy-form-cell">
                    <label>
                        <input type="text" class="main-input-text-style" value="✳消息轨迹查询"/>
                    </label>
                </div>
                <div id="mq-form-cell-1" class="form-cell deploy-form-cell">
                    <input type="text" placeholder="topic,不送默认查询全部" class="main-input-text-style"
                           ng-model="main.mqForm.topic" ng-mouseenter="main.InputMouseEnterEvent('mq-form-cell-1')"
                           ng-mouseleave="main.InputMouseLevelEvent('mq-form-cell-1')">
                </div>
                <div id="mq-form-cell-2" class="form-cell deploy-form-cell">
                    <input type="text" placeholder="messageId,不送默认查询全部" class="main-input-text-style"
                           ng-model="main.mqForm.msgId" ng-mouseenter="main.InputMouseEnterEvent('mq-form-cell-2')"
                           ng-mouseleave="main.InputMouseLevelEvent('mq-form-cell-2')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <input type="number" min="1" placeholder="查询记录数,默认1" ng-model="main.mqForm.limit"
                           class="main-input-text-style">
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            aria-label="提交" ng-click="main.SubmitMqInfo($event)">
                        提交
                        <span class="icon-arrow-right"></span>
                        <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                    </button>
                </div>
            </div>
            <div id="{{main.viewId.queryMqQueryResultView}}" class="form-table deploy-form-table left-div"
                 style="width: 100%;margin-top: 4px;"
                 ng-show="main.viewShow.queryMqQueryResultView">
                <div class="form-cell deploy-form-cell">
                    <label>
                        <input type="text" class="main-input-text-style" value="✳消息轨迹查询结果"/>
                    </label>
                </div>
                <ul class="ul-div-style bottom-border-solid xs-font-size ten_2_one_ul">
                    <li>topic</li>
                    <li class="main-font-color">/</li>
                    <li>tag</li>
                    <li class="main-font-color">/</li>
                    <li>messageId</li>
                    <li class="main-font-color">/</li>
                    <li>消息正文</li>
                    <li class="main-font-color">/</li>
                    <li>发布者IP</li>
                    <li class="main-font-color">/</li>
                    <li>发布时间</li>
                    <li class="main-font-color">/</li>
                    <li>消费者IP</li>
                    <li class="main-font-color">/</li>
                    <li>消费时间</li>
                    <li class="main-font-color">/</li>
                    <li>消费耗时</li>
                    <li class="main-font-color">/</li>
                    <li>消息记录时间</li>
                </ul>
                <!--                通过循环生成ul线程信息-->
                <ul class="ul-div-style bottom-border-solid xs-font-size ten_2_one_ul" ng-repeat="v in main.curMqTraceInfo">
                    <li>{{v.topic}}</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.tag}}</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.msgId}}</li>
                    <li class="main-font-color">/</li>
                    <li>
                        <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                type="submit" aria-label="提交"
                                ng-click="main.showMqContent(v.mqContent)">
                            消息正文
                        </button>
                    </li>
                    <li class="main-font-color">/</li>
                    <li>{{v.reqIp}}</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.startTimestamp}}</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.respIp}}</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.endTimestamp}}</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.takeUpTimestamp}}ms</li>
                    <li class="main-font-color">/</li>
                    <li>{{v.gmtModify}}</li>
                </ul>
            </div>
            <!--            慢SQL-->
            <div id="{{main.viewId.querySlowSqlView}}" class="form-table deploy-form-table left-div"
                 style="width: 100%;"
                 ng-show="main.viewShow.querySlowSqlView">
                <ul class="ul-div-style bottom-border-solid xs-font-size">
                    <li class="six_ul_style">服务器ip</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">慢sql</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">慢sql耗时</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">优化建议</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">explain</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">慢sql记录时间</li>
                </ul>
                <ul class="ul-div-style bottom-border-solid xs-font-size" ng-repeat="v in main.curSlowSqlModel">
                    <li class="six_ul_style">{{v.appIp}}</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">{{v.slowSql}}</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">{{v.takeTime}}ms</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">{{v.explain}}</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">{{v.explainContent}}</li>
                    <li class="main-font-color">/</li>
                    <li class="six_ul_style">{{v.gmtModify}}</li>
                </ul>
            </div>
            <!--            服务治理-->
            <div id="{{main.viewId.queryServiceView}}" class="form-table deploy-form-table left-div transparent-form"
                 style="width: 100%;"
                 ng-show="main.viewShow.queryServiceView">
                <ul class="ul-div-style bottom-border-solid xs-font-size">
                    <li class="nine_ul_style">服务码</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">服务名</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">服务路径</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">发布者应用</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">消费者应用</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">服务发布方</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">服务消费方</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">更新时间</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">
                        <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                type="submit" aria-label="提交"
                                ng-click="main.SubmitServiceAdd()">
                            服务新增
                            <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                        </button>
                    </li>
                </ul>
                <!-- 通过循环生成ul服务信息,并赋值btn点击事件 -->
                <ul class="ul-div-style bottom-border-solid xs-font-size" ng-repeat="v in main.curServiceInfo">
                    <li class="nine_ul_style">{{v.serviceBeanName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.serviceName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.servicePath}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.providerName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.consumerName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.providerList}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.consumerList}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">{{v.gmtModify}}</li>
                    <li class="main-font-color">/</li>
                    <li class="nine_ul_style">
                        <p style="margin: 0">
                            <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                                    type="submit" aria-label="提交"
                                    ng-click="main.SubmitServiceModify(v)">
                                服务管理
                                <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                            </button>
                        </p>
                    </li>
                </ul>
            </div>
            <div id="{{main.viewId.queryServiceAddView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.queryServiceAddView">
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">服务码</span>
                    <input id="srvAddId-1" type="text" placeholder="服务码" class="main-input-text-style"
                           ng-model="main.srvForm.srvCode" ng-mouseenter="main.InputMouseEnterEvent('srvAddId-1')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvAddId-1')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">发布者应用</span>
                    <input id="srvAddId-3" type="text" placeholder="发布者应用名" class="main-input-text-style"
                           ng-model="main.srvForm.providerName" ng-mouseenter="main.InputMouseEnterEvent('srvAddId-3')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvAddId-3')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">消费者应用</span>
                    <input id="srvAddId-4" type="text" placeholder="消费者应用名,分隔符'|'" class="main-input-text-style"
                           ng-model="main.srvForm.consumerName" ng-mouseenter="main.InputMouseEnterEvent('srvAddId-4')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvAddId-4')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            style="margin-right: 178px;"
                            aria-label="提交" ng-click="main.SubmitSrvAddInfo($event)">
                        新增服务
                        <span class="icon-arrow-right"></span>
                        <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                    </button>
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            aria-label="提交" ng-click="main.closeServiceAddView()">
                        关闭
                    </button>
                </div>
            </div>
            <div id="{{main.viewId.queryServiceModifyView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.queryServiceModifyView">
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">服务码</span>
                    <input id="srvModifyId-1" type="text" placeholder="服务码" class="main-input-text-style show-input"
                           ng-model="main.srvModifyForm.srvCode" disabled>
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">服务码</span>
                    <input id="srvModifyId-2" type="text" placeholder="服务接口" class="main-input-text-style show-input"
                           ng-model="main.srvModifyForm.serviceName" disabled>
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">发布者应用</span>
                    <input id="srvModifyId-3" type="text" placeholder="发布者应用名" class="main-input-text-style show-input"
                           ng-model="main.srvModifyForm.providerName" disabled>
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">消费者应用</span>
                    <input id="srvModifyId-4" type="text" placeholder="消费者应用名,分隔符'|'" class="main-input-text-style"
                           ng-model="main.srvModifyForm.consumerName" ng-mouseenter="main.InputMouseEnterEvent('srvModifyId-4')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvModifyId-4')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">Qps限流</span>
                    <input id="srvModifyId-5" type="text" placeholder="Qps限流" class="main-input-text-style"
                           ng-model="main.srvModifyForm.limitQps" ng-mouseenter="main.InputMouseEnterEvent('srvModifyId-5')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvModifyId-5')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">降级地址</span>
                    <input id="srvModifyId-6" type="text" placeholder="降级地址" class="main-input-text-style"
                           ng-model="main.srvModifyForm.limitFallback" ng-mouseenter="main.InputMouseEnterEvent('srvModifyId-6')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvModifyId-6')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <span class="title-span left-span">超时时间</span>
                    <input id="srvModifyId-7" type="text" placeholder="超时时间" class="main-input-text-style"
                           ng-model="main.srvModifyForm.srvTimeout" ng-mouseenter="main.InputMouseEnterEvent('srvModifyId-7')"
                           ng-mouseleave="main.InputMouseLevelEvent('srvModifyId-7')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            style="margin-right: 178px;"
                            aria-label="提交" ng-click="main.SubmitSrvModifyInfo($event)">
                        提交修改
                        <span class="icon-arrow-right"></span>
                        <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                    </button>
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            aria-label="提交" ng-click="main.closeServiceModifyView()">
                        关闭
                    </button>
                </div>
            </div>
            <!--            Redis视图-->
            <div id="{{main.viewId.queryRedisView}}" class="form-table deploy-form-table left-div" style="width: 100%;margin-bottom: 6px;"
                 ng-show="main.viewShow.queryRedisView" ng-repeat="v in main.curRedisView">
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <li class="senven_ul_style">redis服务器</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">redis类型</li>
                        <li class="main-font-color">/</li>
                        <!--如果redis类型是主从或集群,则显示'从服务器'标签-->
                        <li class="senven_ul_style">从服务器</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">redis日志</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">redis配置文件</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">sentinel列表</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">sentinel配置文件</li>
                    </ul>
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <li class="senven_ul_style">{{v.redisIp}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">
                            <span class="show-red-span">
                                {{v.clusterType == 'redis' ? '单机模式' : v.clusterType == 'cluster' ? '集群模式' :
                                    v.clusterType == 'replication' ? '主从模式' : '哨兵模式'}}
                            </span>
                        </li>
                        <li class="main-font-color">/</li>
                        <!--如果redis类型是主从或集群,则显示'从服务器'标签-->
                        <li class="senven_ul_style">{{v.slaveIp}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.redisLogPath}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.redisConfigPath}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.sentinelMonitor}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.sentinelConfigPath}}</li>
                    </ul>
                    <!--在此动态添加redis服务器及配置信息-->
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <!--如果持久化类型开启,则显示对应rdb与aof标签-->
                        <li class="eight_ul_style">持久化类型</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">RDB文件路径</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">RDB保存规则</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">RDB状态</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">最近一次RDB状态</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">AOF文件路径</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">AOF保存规则</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">AOF状态</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">最近一次AOF状态</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">上次fork阻塞时间(微秒)</li>
                    </ul>
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <!--如果持久化类型开启,则显示对应rdb与aof标签-->
                        <li class="eight_ul_style">
                            <span class="show-red-span">
                                {{v.aofRdbOpen == '1' ? '混合持久化' : v.aofOpen == '1' ? 'AOF持久化' : v.rdbOpen == '1' ? 'RDB持久化' : '无持久化'}}
                            </span>
                        </li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.rdbFile}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.rdbSaveType}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.rdbOpen == '1' ? '开启' : '关闭'}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.lastRdbStatus == 'ok' ? '成功' : '失败'}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.aofFile}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.aofSaveType}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.aofOpen == '1' ? '开启' : '关闭'}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.lastAofStatus == 'ok' ? '成功' : '失败'}}</li>
                        <li class="main-font-color">/</li>
                        <li class="eight_ul_style">{{v.lastForkUsec}}</li>
                    </ul>
                    <!--在此动态添加redis持久化信息-->
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <li class="senven_ul_style">服务器总内存(kb)</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">redis占用内存(kb)</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">redis占用内存峰值(kb)</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style" title="redis内存碎片率,used_memory_rss/used_memory,大于1,表示分配的内存超过实际使用的内存,数值越大,碎片率越严重,小于1时,表示发生了swap,即可用内存不够,used_memory大于1G时有参考价值,建议开启activedefrag yes压缩回收内存">内存碎片率</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">最大连接数</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">当前连接数</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">当前阻塞连接数</li>
                    </ul>
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <li class="senven_ul_style">{{v.mermoryCountKb}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.mermoryAvailableCountKb}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.mermoryPeakKb}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.mermoryFragmentationRatio}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.connTotalCount}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.connCurCount}}</li>
                        <li class="main-font-color">/</li>
                        <li class="senven_ul_style">{{v.connBlockCount}}</li>
                    </ul>
                    <!--在此动态添加redis服务器内存信息-->
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <li class="six_ul_style">redis key总数</li>
                        <li class="main-font-color">/</li>
                        <li class="six_ul_style">redis命中率</li>
                    </ul>
                    <ul class="ul-div-style bottom-border-solid xs-font-size">
                        <li class="six_ul_style">{{v.keysCount}}</li>
                        <li class="main-font-color">/</li>
                        <li class="six_ul_style">{{(v.keyspaceRatio * 100) + '%'}}</li>
                    </ul>
            </div>
            <!--            Http视图-->
            <div id="{{main.viewId.queryHttpView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.queryHttpView">
                <div class="form-cell deploy-form-cell">
                    <label>
                        <input type="text" class="main-input-text-style" value="✳Http请求查询"/>
                    </label>
                </div>
                <div id="http-form-cell-1" class="form-cell deploy-form-cell">
                    <input type="text" placeholder="请求路径,支持模糊查询" class="main-input-text-style"
                           ng-model="main.httpForm.path"
                           ng-mouseenter="main.InputMouseEnterEvent('http-form-cell-1')"
                           ng-mouseleave="main.InputMouseLevelEvent('http-form-cell-1')">
                </div>
                <div class="form-cell deploy-form-cell">
                    <input type="number" min="1" placeholder="查询记录数,默认1" ng-model="main.httpForm.limit"
                           class="main-input-text-style">
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            aria-label="提交" ng-click="main.SubmitQryHttpInfo($event)">
                        提交
                        <span class="icon-arrow-right"></span>
                        <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                    </button>
                </div>
            </div>
            <div id="{{main.viewId.queryHttpResultView}}" class="form-table deploy-form-table left-div"
                 style="width: 100%;margin-top: 4px;"
                 ng-show="main.viewShow.queryHttpResultView">
                <div class="form-cell deploy-form-cell">
                    <label>
                        <input type="text" class="main-input-text-style" value="✳Http请求查询结果"/>
                    </label>
                </div>
                <ul class="ul-div-style bottom-border-solid xs-font-size">
                    <li class="eight_ul_style_1">请求应用服务器IP</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">请求路径</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">请求时间</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">请求耗时</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">请求结果</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">request</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">response</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">最后记录时间</li>
                </ul>
                <ul class="ul-div-style bottom-border-solid xs-font-size" ng-repeat="v in main.curHttpInfoView">
                    <li class="eight_ul_style_1">{{v.appIp}}</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.reqUrl}}</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.takeUpTime}}ms</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.reqTimeStamp}}</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.reqSuccess == 1 ? 'success' : 'faild'}}</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.reqInput}}</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.reqResult}}</li>
                    <li class="main-font-color">/</li>
                    <li class="eight_ul_style_1">{{v.gmtModify}}</li>
                </ul>
                <!--                通过循环生成http请求列表信息-->
            </div>
            <!--            全链路查询-->
            <div id="{{main.viewId.queryTrackingView}}" class="form-table deploy-form-table left-div"
                 ng-show="main.viewShow.queryTrackingView">
                <div class="form-cell deploy-form-cell">
                    <label>
                        <input type="text" class="main-input-text-style" value="✳全链路查询"/>
                    </label>
                </div>
                <div id="trace-form-cell-1" class="form-cell deploy-form-cell">
                    <input type="text" placeholder="traceId" class="main-input-text-style"
                           ng-model="main.traceFrom.qryTraceId"
                           ng-mouseenter="main.InputMouseEnterEvent('trace-form-cell-1')"
                           ng-mouseleave="main.InputMouseLevelEvent('trace-form-cell-1')"/>
                </div>
                <div class="form-cell deploy-form-cell">
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding" type="submit"
                            aria-label="提交" ng-click="main.SubmitQryTraceId($event)">
                        提交
                        <span class="icon-arrow-right"></span>
                        <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                    </button>
                </div>
            </div>
            <div id="{{main.viewId.queryTrackingResultView}}" class="form-table deploy-form-table left-div"
                 style="width: 100%;margin-top: 4px;"
                 ng-show="main.viewShow.queryTrackingResultView">
                <div class="form-cell deploy-form-cell">
                    <label>
                        <input type="text" class="main-input-text-style" value="✳全链路调用信息结果集"/>
                    </label>
                </div>
                <div class="form-cell deploy-form-cell">
                    <div id="trace-div-span">
                        <span id="srv-span"><label>服务调用</label></span>
                        <span id="db-span"><label>数据库操作</label></span>
                        <span id="http-span"><label>http调用</label></span>
                        <span id="mq-span"><label>MQ占比</label></span>
                    </div>
                </div>
                <div class="form-cell deploy-form-cell">
                    <div id="trace-div-ms-span">
                        <span id="srv-ms-span"><label>RPC耗时占比</label></span>
                        <span id="db-ms-span"><label>数据库耗时占比</label></span>
                        <span id="http-ms-span"><label>http耗时占比</label></span>
                        <span id="mq-ms-span"><label>MQ耗时占比</label></span>
                    </div>
                </div>
                <ul class="ul-div-style bottom-border-solid xs-font-size">
                    <li class="four_ul_style">traceId</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">请求类型</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">应用名</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">耗时</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">备注</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">时间</li>
                </ul>
                <!--                通过循环生成trace链路信息-->
                <ul class="ul-div-style bottom-border-solid xs-font-size" ng-repeat="v in main.curTraceListResult">
                    <li class="four_ul_style">{{v.qryTraceId}}</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">{{v.reqType == '0' ? 'RPC' : v.reqType == '1' ? 'DB' : v.reqType == '2' ? 'HTTP'
                            : v.reqType == '3' ? 'MQ' : '未知类型'}}
                        <span class="span-tag" ng-show="v.reqType == '3' && v.provider">provider</span>
                        <span class="span-tag" ng-show="v.reqType == '3' && !v.provider">consumer</span>
                    </li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">{{v.appName}}</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">{{v.takeTimeMs}}ms</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">{{v.remarks}}</li>
                    <li class="main-font-color">/</li>
                    <li class="four_ul_style">{{v.order}}</li>
                </ul>
            </div>
        </div>
    </div>
</div>
<!--部署页面 end-->

<div id="{{main.viewId.showAbsoluteDiv}}" class="form-table deploy-form-table left-div select-branch"
    style="position: absolute;top: 20%;left: 30%;width: 680px;z-index: 9999;"
    ng-show="main.viewShow.showAbsoluteDiv">
    <div ng-show="main.showAbsoluteDiv.showTextDiv">
        <span class="title-span">{{main.showAbsoluteDiv.showDivTitle}}</span>
        <span id="{{main.showAbsoluteDiv.showAbsoluteDivContentId}}" class="text-span" style="word-wrap:break-word;">{{main.showAbsoluteDiv.showDivContent}}</span>
    </div>
<!--    线程信息查询div-->
    <div ng-show="main.showAbsoluteDiv.showThreadDiv">
        <span class="title-span">线程ID</span>
        <input type="text" style="border:none;outline:medium;background: transparent;"
               class="show-input ng-pristine ng-untouched ng-valid ng-not-empty"
               ng-model="main.showAbsoluteDiv.threadId"/>
    </div>
    <div ng-show="main.showAbsoluteDiv.showThreadResultDiv">
        <span class="title-span">线程信息</span>
        <span id="{{main.showAbsoluteDiv.threadResultDivId}}" class="text-span" style="word-wrap:break-word;"></span>
    </div>
<!--    部署历史div-->
    <div class="form-table deploy-form-table left-div"
         style="width: 94%;"
         ng-show="main.showAbsoluteDiv.showDeployHistoryDiv">
        <ul class="ul-div-style bottom-border-solid xs-font-size">
            <li class="six_ul_style">应用名称</li>
            <li class="six_ul_style">部署分支</li>
            <li class="six_ul_style">部署状态</li>
            <li class="six_ul_style">部署流水</li>
            <li class="six_ul_style">备注</li>
            <li class="six_ul_style">部署时间</li>
            <li class="six_ul_style">执行操作</li>
        </ul>
        <ul class="ul-div-style bottom-border-solid xs-font-size" ng-repeat="v in main.deployHistoryInfoList">
            <li class="six_ul_style">{{v.appName}}</li>
            <li class="six_ul_style">{{v.gitBrchan}}</li>
            <li class="six_ul_style">{{v.stageFlag == '0a' ? '编译成功' : v.stageFlag == '0b' ? '编译中' : v.stageFlag == '0c' ? '编译失败'
                : v.stageFlag == '1a' ? '部署成功' : v.stageFlag == '1b' ? '部署中' : v.stageFlag == '1c' ? '部署失败'
                : v.stageFlag == '2a' ? '服务启动成功' : v.stageFlag == '2b' ? '服务启动中' : v.stageFlag == '2c' ? '服务启动失败' : '未部署'}}</li>
            <li class="six_ul_style">{{v.buildSeq}}</li>
            <li class="six_ul_style">{{v.remarks}}</li>
            <li class="six_ul_style">{{v.createDateTime}}</li>
            <li class="six_ul_style">
                <p style="margin: 0">
                    <button class="login-btn deploy-info-btn popover-options submit-btn btn ng-binding small-service-btn"
                            type="submit" aria-label="提交"
                            ng-click="main.rollbackDeployInfo(v)">
                        回滚
                        <span class="icon-spinner icon-spin ng-hide" ng-show="false"></span>
                    </button>
                </p>
            </li>
        </ul>
    </div>
    <div>
        <input type="submit"  ng-show="main.showAbsoluteDiv.showThreadDiv"
               class="deploy-info-btn popover-options submit-btn btn select-branch-btn"
               value="提交" ng-click="main.qryRealTimeThreadId()">
        <input type="submit" class="deploy-info-btn popover-options submit-btn btn select-branch-btn"
               style="background: #0071f1;color: #fff !important;"
               value="关闭" ng-click="main.closeAbsoluteDiv()">
    </div>
</div>

<!--底部导航栏-->
<div id="legal-footer" class="container row">
    <div class="legal-footer-content">
        <span>
            <span>evyjunjun@163.com</span> |
            <span>版权所有 © 2020 Evy. 保留所有权利。</span>
        </span>
    </div>
</div>
<!--底部导航栏 end-->

<script type="text/javascript" src="../js/jquery.min.js"></script>
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../js/angular.min.js"></script>
<script type="text/javascript" src="../js/angular-sanitize.min.js"></script>
<script type="text/javascript" src="../js/deploy/app.js"></script>
<script type="text/javascript" src="../js/deploy/deploy.controller.js"></script>
<script type="text/javascript" src="../js/deploy/deploy.service.js"></script>
<script src="https://code.highcharts.com.cn/highcharts/highcharts.js"></script>
<script src="https://code.highcharts.com.cn/highcharts/modules/exporting.js"></script>
<script src="https://code.highcharts.com.cn/highcharts/modules/series-label.js"></script>
<script src="https://code.highcharts.com.cn/highcharts/modules/oldie.js"></script>
<script src="https://code.highcharts.com.cn/highcharts-plugins/highcharts-zh_CN.js"></script>
</body>
</html>